.course-detail-container {
  width: 100vw;

  .course-header {
    width: 100%;
    min-width: 459px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;

    .content-container {
      width: 50%;
      padding: 40px 120px;
      transition-duration: 300ms;
      transition-property: padding;

      ::v-deep .breadcrumbs-row {
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;

        .v-breadcrumbs {
          padding: 10px 0;
        }

        .v-btn {
          margin-left: auto;
          padding: 0 4px;

          .v-btn__content {
            opacity: 1!important;
            font-size: 15px;
            letter-spacing: 0;
            color: #555;
            transition-property: color, font-size;

            .v-icon {
              margin-right: 2px;
            }

            @media screen and (max-width: 900px) {
              font-size: 14px;
            }
          }
        }
      }

      .course-title {
        padding: 10px 0;
        margin-top: 50px;
        font-size: 48px;
        font-weight: bold;
        color: #333;
        transition-duration: 300ms;
        transition-property: font-size, margin-top;
      }

      .course-desc {
        padding: 20px 0 10px 0;
        font-size: 26px;
        color: #555;
        transition-duration: 300ms;
        transition-property: font-size, padding;
      }

      .course-basic-info {
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        padding: 5px 0 10px 0;
        font-size: 16px;
        color: #888;
        transition-duration: 300ms;
        transition-property: font-size;

        .item {
          white-space: nowrap;

          &:before {
            content: '/';
            font-size: inherit;
            margin: 0 6px 0 10px;
          }

          &:first-child {
            margin-left: 0;

            &:before {
              content: '';
              margin: 0;
            }
          }

          &:last-child {
            margin-right: 0;
          }
        }
      }

      .course-join {
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        padding: 50px 0 10px 0;

        .btn__preview {
          margin-left: 20px;
        }

        .price {
          display: flex;
          flex-direction: row;
          flex-wrap: nowrap;
          align-items: center;
          margin-left: auto;

          .price__current {
            font-size: 28px;
            font-weight: bold;
            color: #1e88e5;
            margin-right: 10px;
            transition-duration: 300ms;
            transition-property: font-size;
          }

          .price__original {
            font-size: 18px;
            color: #aaa;
            text-decoration-color: #aaa;
            text-decoration-line: line-through;
            text-decoration-style: solid;
            text-decoration-thickness: auto;
            transition-duration: 300ms;
            transition-property: font-size;
          }
        }
      }
    }

    .img-container {
      width: 50%;
      height: 800px;
      cursor: pointer;
      transition-duration: 300ms;
      transition-property: height, filter;

      .img-wrapper {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: rgba(0, 0, 0, 0);
        transition-duration: 400ms;
        transition-property: background-color;
      }

      .img-wrapper__hover {
        background-color: rgba(0, 0, 0, .3);

        ::v-deep .v-btn {
          pointer-events: none;

          .v-icon {
            transition-duration: 300ms;
            transition-property: color;
          }
        }
      }
    }
  }

  .course-body {
    width: 100%;
    height: 100vh;

    .course-key-info {
      width: 100%;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      padding: 80px 80px 30px 80px;
      transition-duration: 300ms;
      transition-property: padding;

      .item {
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-content: center;
        padding: 0 10px;
        cursor: default;

        ::v-deep .v-avatar {
          margin-right: 10px;
          cursor: pointer;

          .v-icon {
            font-size: 30px;
            color: #aaa;
          }
        }

        .item-text {
          display: flex;
          flex-direction: column;
          padding: 0 10px 0 0;
          transition-duration: 300ms;
          transition-property: padding;

          .item-title {
            font-size: 16px;
            color: #888;
            line-height: 24px;
          }

          .item-content {
            max-width: 25vw;
            font-size: 16px;
            font-weight: bold;
            color: #333;
            line-height: 24px;
          }
        }
      }

      .teacher {
        ::v-deep .v-avatar {
          margin-right: 20px;
          overflow: unset;

          .v-responsive {
            overflow: inherit;

            .v-image__image {
              border-radius: inherit;
              overflow: hidden;
            }

            .v-image__placeholder {
              left: 10px;
            }
          }
        }

        .item-content {
          cursor: pointer;
          transition-duration: 300ms;
          transition-property: color;

          &:hover {
            color: #1e88e5;
          }
        }
      }
    }

    .course-detail-info {
      width: 100%;
      max-width: 1300px;
      margin: 50px auto 0 auto;
      padding: 0 0 30px 0;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      transition-duration: 300ms;
      transition-property: max-width;

      .detail-info__left {
        width: 100%;
        height: inherit;

        .detail-container {

          .detail-title {
            padding: 15px 0;
            display: flex;
            font-size: 24px;
            font-weight: bold;
            color: #333;

            span {
              margin-left: 10px;
            }
          }

          ::v-deep .detail-content {
            .basic-introduction {
              background-color: #f1f1f1;
              border-radius: 8px;
            }

            p {
              color: #444;
              line-height: 22px;
            }

            .v-treeview {
              font-size: 14px;
              color: #444;
              cursor: default;
            }

            .teacher {
              width: 100%;
              display: flex;
              flex-direction: row;

              .v-avatar {
                flex-shrink: 0;
                margin-right: 30px;
              }

              .teacher-introduction {
                font-size: 14px;

                .name {
                  font-size: 20px;
                  font-weight: bold;
                  color: #1e88e5;
                  cursor: pointer;
                  transition-duration: 300ms;
                  transition-property: color;

                  &:hover {
                    color: #1E88E5AA;
                  }
                }
              }
            }
          }
        }

        .more-courses {
          width: 100%;
          padding-bottom: 100px;

          .course-card-container {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;

            ::v-deep .course-card {
              width: calc(50% - 30px);
              display: flex;
              flex-direction: row;
              padding: 12px;
              border-radius: 8px;
              background-color: #fff;
              overflow: hidden;
              cursor: pointer;
              user-select: none;
              transition-duration: 300ms;
              transition-property: background-color, width;

              .v-responsive {
                width: 200px;
                height: 110px;
                border-radius: 6px;
                overflow: hidden;
              }

              .course-info {
                width: 100%;
                display: flex;
                flex-direction: row;
                flex-wrap: nowrap;
                padding: 0 0 0 15px;

                .course-title {
                  margin-bottom: 5px;
                  font-size: 16px;
                  font-weight: bold;
                  color: #333;
                }

                .course-teacher {
                  margin-bottom: 0;
                  font-size: 14px;
                  color: #888;
                }

                .course-category {
                  margin-bottom: 0;
                  margin-top: auto;
                  font-size: 12px;
                  color: #888;
                }

                .course-price {
                  flex-shrink: 0;
                  margin-left: auto;
                  padding-left: 5px;
                  text-align: right;

                  .price__current {
                    margin-bottom: 5px;
                    font-size: 20px;
                    font-weight: bold;
                    color: #1e88e5;
                  }

                  .price__original {
                    font-size: 14px;
                    color: #888;
                    text-decoration-color: #888;
                    text-decoration-line: line-through;
                    text-decoration-style: solid;
                    text-decoration-thickness: auto;
                  }
                }
              }

              &:hover {
                background-color: #f1f1f1;
              }
            }
          }
        }
      }

      .detail-info__right {
        width: 150px;
        height: inherit;
        flex-shrink: 0;
        margin: 0 0 0 150px;
        overflow: hidden;
        transition-duration: 300ms;
        transition-property: margin;

        div {
          position: relative;
          top: 0;
          transition-duration: 300ms;
          transition-property: position, top;
        }

        .catalog__fixed {
          position: fixed;
          top: 50px;
        }

        ul {
          list-style-type: none;

          .catalog--default {
            color: #888;
            border-left: 2px solid #e5e5e5;
            cursor: pointer;
            transition-duration: 300ms;
            transition-property: color, border-left;
            transition-delay: 100ms;
          }

          .catalog--active {
            color: #1e88e5;
            border-left: 2px solid #1e88e5;
          }
        }
      }
    }
  }

  @media (min-width: 1200px) and (max-width: 1500px) {
    .course-header {
      .content-container {
        padding: 40px 100px;

        .course-title {
          margin-top: 20px;
          font-size: 36px;
        }

        .course-desc {
          padding: 10px 0;
          font-size: 20px;
        }

        .course-join {
          padding: 30px 0 10px 0;

          .price {
            .price__current {
              font-size: 24px;
            }

            .price__original {
              font-size: 16px;
            }
          }
        }
      }

      .img-container {
        height: 600px;
      }
    }

    .course-body {
      .course-key-info {
        padding: 60px 50px 30px 50px;
      }

      .course-detail-info {
        max-width: 1000px;

        .detail-info__left {
          .more-courses {
            .course-card-container {
              ::v-deep .course-card {
                max-width: 250px;
                flex-direction: column;

                .v-responsive {
                  width: 100%;
                  height: 130px;
                  max-height: 130px;
                }

                .course-info {
                  padding: 10px 0 0 0;

                  .course-title {

                  }
                }

                .course-price {

                  .price__current {
                    font-size: 18px;
                    margin-bottom: 0;
                  }

                  .price__original {
                    font-size: 13px;
                  }
                }
              }
            }
          }
        }

        .detail-info__right {
          margin: 0 0 0 100px;
        }
      }
    }
  }

  @media (min-width: 900px) and (max-width: 1200px) {
    .course-header {
      .content-container {
        padding: 40px 80px;

        .course-title {
          margin-top: 10px;
          font-size: 36px;
        }

        .course-desc {
          padding: 10px 0;
          font-size: 18px;
        }

        .course-join {
          padding: 20px 0 10px 0;

          .price {
            .price__current {
              font-size: 24px;
            }

            .price__original {
              font-size: 16px;
            }
          }
        }
      }

      .img-container {
        height: 500px;
      }
    }

    .course-body {
      .course-key-info {
        padding: 50px 30px 30px 30px;
      }

      .course-detail-info {
        max-width: 800px;

        ::v-deep .detail-info__left {
          .v-treeview-node__root {
            min-height: 36px;
          }

          .more-courses {
            .course-card-container {
              .course-card {
                max-width: 190px;
                flex-direction: column;
                padding: 8px;

                .v-responsive {
                  width: 100%;
                  height: 110px;
                  max-height: 130px;
                }

                .course-info {
                  padding: 10px 0 0 0;
                  flex-direction: column;

                  .course-title {
                    margin-bottom: 0;
                    font-size: 14px;
                  }

                  .course-teacher, .course-category {
                    font-size: 12px;
                  }
                }

                .course-price {
                  display: flex;
                  flex-direction: row;
                  margin-left: 0 !important;
                  padding: 5px 0 0 0 !important;

                  .price__current {
                    margin: 0 5px 0 0 !important;
                    font-size: 16px !important;
                    text-align: left;
                  }

                  .price__original {
                    margin-bottom: 0;
                    font-size: 10px !important;
                    text-align: left;
                  }
                }
              }
            }
          }
        }

        .detail-info__right {
          margin: 0 0 0 70px;
        }
      }
    }
  }

  @media (min-width: 700px) and (max-width: 900px) {
    .course-header {
      .content-container {
        padding: 40px 50px;

        .course-title {
          margin-top: 20px;
          font-size: 30px;
        }

        .course-desc {
          padding: 10px 0;
          font-size: 16px;
        }

        .course-basic-info {
          font-size: 14px;
        }

        .course-join {
          padding: 20px 0 10px 0;

          .price {
            .price__current {
              font-size: 24px;
            }

            .price__original {
              font-size: 16px;
            }
          }
        }
      }

      .img-container {
        height: 500px;
      }
    }

    .course-body {
      .course-key-info {
        padding: 40px 30px 30px 30px;

        .item {
          ::v-deep .v-avatar {
            display: none;
          }

          .item-text {
            padding: 0 10px 0 20px;
          }
        }
      }

      .course-detail-info {
        width: 800px;
        max-width: 85vw;

        ::v-deep .detail-info__left {
          .detail-container {
            .detail-title {
              font-size: 18px;

              .v-icon {
                font-size: inherit;
              }
            }

            .detail-content {
              .basic-introduction {
                padding: 20px !important;
              }

              .v-treeview-node__root {
                min-height: 36px;
              }

              .teacher {
                .name {
                  font-size: 16px !important;
                }

                .name, .intro, .career {
                  margin-bottom: 8px;
                }
              }
            }
          }

          .more-courses {
            .course-card-container {
              .course-card {
                width: 100%;
                flex-direction: row;
                margin: 4px 0 !important;
                padding: 8px;

                .v-responsive {
                  width: 180px;
                  height: 110px;
                  max-height: 130px;
                }

                .course-info {
                  padding: 0 0 0 15px;
                  flex-direction: column;

                  .course-title {
                    margin-bottom: 0;
                    font-size: 15px;
                  }

                  .course-teacher, .course-category {
                    font-size: 12px;
                  }
                }

                .course-price {
                  display: flex;
                  flex-direction: row;
                  margin: auto 0 0 0 !important;
                  padding: 5px 0 0 0 !important;

                  .price__current {
                    margin: 0 5px 0 0 !important;
                    font-size: 16px !important;
                    text-align: left;
                  }

                  .price__original {
                    margin-bottom: 0;
                    font-size: 10px !important;
                    text-align: left;
                  }
                }
              }
            }
          }
        }

        .detail-info__right {
          margin: 0 0 0 30px;
        }
      }
    }
  }

  @media (max-width: 700px) {
    .course-header {
      width: 100%;
      flex-direction: column-reverse;

      .content-container {
        width: 100%;
        padding: 40px 40px 20px 40px;

        .course-title {
          margin-top: 10px;
          font-size: 32px;
        }

        .course-desc {
          padding: 10px 0;
          font-size: 16px;
        }

        .course-basic-info {
          font-size: 14px;
        }

        .course-join {
          padding: 20px 0 10px 0;

          .price {
            .price__current {
              font-size: 24px;
            }

            .price__original {
              font-size: 16px;
            }
          }
        }
      }

      .img-container {
        width: 100%;
        height: 400px;
      }
    }

    .course-body {
      .course-key-info {
        flex-direction: column;
        padding: 0 40px 0 35px;

        .item {
          justify-content: flex-start;
          align-content: center;
          padding: 3px 0;

          ::v-deep .v-avatar {
            margin-right: 5px;
            height: 36px !important;
            min-width: 36px !important;
            width: 36px !important;

            .v-icon {
              font-size: 20px;
            }
          }

          .item-text {
            flex-direction: row;
            padding: 0;

            .item-title {
              align-self: center;
              font-size: 15px;

              &:after {
                content: '：';
              }
            }

            .item-content {
              max-width: 100%;
              align-self: center;
              font-size: 15px;
              font-weight: normal;
              color: #111;
            }
          }
        }
      }

      .course-detail-info {
        width: 100%;
        min-width: 459px;
        padding: 0 40px;

        ::v-deep .detail-info__left {
          .detail-container {
            .detail-title {
              .v-icon {
                font-size: inherit;
              }

              font-size: 18px;
            }

            .detail-content {
              .basic-introduction {
                padding: 20px !important;
              }

              .v-treeview-node__root {
                min-height: 36px;
              }

              .teacher {
                .name {
                  font-size: 16px !important;
                }

                .name, .intro, .career {
                  margin-bottom: 8px;
                }
              }
            }
          }

          .more-courses {
            .course-card-container {
              .course-card {
                width: 100%;
                flex-direction: row;
                margin: 4px 0 !important;
                padding: 8px;

                .v-responsive {
                  width: 150px;
                  height: 110px;
                  max-height: 130px;
                }

                .course-info {
                  padding: 0 0 0 15px;
                  flex-direction: column;

                  .course-title {
                    margin-bottom: 0;
                    font-size: 15px;
                  }

                  .course-teacher, .course-category {
                    font-size: 12px;
                  }
                }

                .course-price {
                  display: flex;
                  flex-direction: row;
                  margin: auto 0 0 0 !important;
                  padding: 5px 0 0 0 !important;

                  .price__current {
                    margin: 0 5px 0 0 !important;
                    font-size: 16px !important;
                    text-align: left;
                  }

                  .price__original {
                    margin-bottom: 0;
                    font-size: 10px !important;
                    text-align: left;
                  }
                }
              }
            }
          }
        }

        .detail-info__right {
          width: 0;
          margin: 0;
          opacity: 0;
        }
      }
    }
  }
}